.wrapper {
  display: flex;
  width: 280px;
  height: 100%;
  transition: width ease-in-out .3s;

  &.collapsed {
    width: 40px;
  }

  > aside {
    display: flex;
    flex-direction: column;
    width: 40px;
    background: #fafafa;
    overflow: hidden;
    font-weight: 600;
    font-size: 1.2em;
    border-right: 1px solid #dddddd;

    ul {
      flex: 1;
      padding: 1rem 0;
    }

    > div {
      position: relative;
      height: 36px;
      text-align: center;
      cursor: pointer;

      &::before {
        position: absolute;
        top: -10px;
        left: 10%;
        width: 80%;
        height: 1px;
        background: #dddddd;
        content: '';
      }
    }

    li {
      position: relative;
      height: 36px;
      line-height: 36px;
      text-align: center;
      cursor: pointer;

      &::after {
        position: absolute;
        top: 8px;
        right: 0;
        width: 1px;
        height: 20px;
        background: var(--editor-primary-color);
      }

      &.active {
        color: var(--editor-primary-color);

        &::after {
          content: '';
        }
      }

      + li {
        margin-top: .5em;
      }
    }
  }

  > main {
    display: flex;
    flex: 1;
    flex-direction: column;
    overflow: hidden;

    > header {
      height: 40px;
      padding: 0 8px;
      border-bottom: 1px solid #dddddd;
      line-height: 39px;
    }

    > div {
      flex: 1;
      overflow-x: hidden;
      overflow-y: auto;
    }
  }
}
